The Internet has profoundly changed many aspects of contemporary society, and has become an increasingly important resource for numerous educational, entertainment and commercial purposes. The Internet generally facilitates information exchange between users, thus, e-mailing and instant messaging have become popular forms of communication, both for personal and business use.
In particular, instant messaging systems typically permit users, whom are logged into the same instant messaging system, to send and receive instant messages to and from each other in realtime. An instant message, which may also be referred to as a chat message, is generally a communication sent by one user to one or more other users. An instant messaging system generally handles the exchange of instant messages, and typically supports the ability to display an instant messaging window incorporating a running transcript of the ongoing chat between the participating users on each user's computer screen.
An instant messaging window typically includes an area where the instant messages already sent by users participating in the chat are displayed as well as an area where an instant message a user wants to send, which is usually text typed by a user from a keyboard, may be displayed before the user sends the instant message to the other users participating in the chat. Furthermore, in addition to instant messaging or chatting, instant messaging systems may also be used to share files, images, etc. with others. By sharing, the files are made accessible to participants that did not previously have access to the files. Additionally, the transcript or log of the chat (i.e., record of the instant messages sent and/or received by users participating in a chat) may be stored so that the users may refer back to the transcript at later time and/or date.
Furthermore, a buddy list may also be displayed for users. Generally, each user indicates the screen names (i.e., aliases) of users of the instant messaging system that he or she regularly interacts with (e.g., screen names of friends, family, work colleagues, etc.), and the screen names of those users that are currently logged on to the instant messaging system are displayed in the buddy list. In some designs, buddies who are not currently online are also displayed in the buddy list, with the online buddies highlighted in the list to indicate their online status.
Instant messaging systems are typically implemented via a client-server environment or a peer-to-peer environment. In the former, each user may login to an instant messaging server via their instant messaging client. The instant messaging server authenticates the login information, generates the user's buddy list, and facilitates the exchange of instant messages between users. Thus, the instant messaging server generally functions as an intermediary and passes instant messages between the users. The peer-to-peer environment may also include an instant messaging server for user login as well as a central user database. In the peer-to-peer environment, the instant messaging server initially functions as an intermediary and then the instant messages may be transmitted directly between the users via their instant messaging clients.
One problem that a user may encounter when participating in a conversation via instant messaging occurs when either user needs to locate information such as files that have been previously shared among the participants related to the subject matter of the conversation. For example, while chatting with a work colleague about a project, the user may realize that some files previously shared between the parties may be relevant to the project, therefore, the user may have to search through his or her file system, e-mail inbox, e-mail sent folder, and/or other depositories to identify those relevant shared files that are related to the project. Yet, the user may not have enough time to identify those shared files or may disregard some shared files that may be relevant (e.g., a shared file has a misleading title and may be overlooked), thus, interrupting the conversation and reducing the user's productivity.
Furthermore, when relevant shared files are identified by a user and the user brings the shared files to another chat participant's attention (e.g., by referencing the shared files in an instant message to the other chat participant), the other chat participant may also have to spend time manually locating the identified shared files in his or her depositories (e.g., file system, e-mail inbox, etc.). On the other hand, in some systems, the user may once again share the previously shared file with the other chat participant. Nonetheless, the productivity of the user and/or other chat participant may be further hindered by either approach.
Also, the growth of information sharing via instant messaging has generally increased the difficulty of organizing shared information. Users generally have to manually organize shared information, which is not particularly efficient. For example, information including files may be shared with a user via instant messaging by different individuals (e.g., screen names of friends, family, work colleagues, etc.) on different dates for different projects in different formats (e.g., images, links, text documents, spreadsheets, presentations, etc.). Organizing information with such varied qualities is not generally intuitive and has resulted in an organization that does not reflect the nature of the shared information, (e.g., which files were shared with the user, who shared which file with the user, which files the user shared with others, whom did the user share a particular file with, etc.). Similarly, transcripts of chats may be organized in chronological order or manually, thus, the organization of the transcripts may also not reflect the nature of the transcript (e.g., the discussions of the chat).
A need therefore exists in improving instant messaging systems, in particular, an improved manner of identifying relevant shared information and referencing relevant shared information, and an improved manner of organizing shared information and transcripts, which generally reduces the burden on users.